home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 60 / IOPROG_60.ISO / soft / c++ / gsl-1.1.1-setup.exe / {app} / src / specfunc / test_coulomb.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-11-01  |  15.2 KB  |  379 lines

  1. /* specfunc/test_coulomb.c
  2.  * 
  3.  * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
  4.  * 
  5.  * This program is free software; you can redistribute it and/or modify
  6.  * it under the terms of the GNU General Public License as published by
  7.  * the Free Software Foundation; either version 2 of the License, or (at
  8.  * your option) any later version.
  9.  * 
  10.  * This program is distributed in the hope that it will be useful, but
  11.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * General Public License for more details.
  14.  * 
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  */
  19.  
  20. /* Author:  G. Jungman */
  21.  
  22. #include <config.h>
  23. #include <gsl/gsl_test.h>
  24. #include <gsl/gsl_sf.h>
  25. #include "test_sf.h"
  26.  
  27. #define PRINT(n) printf("%22.18g  %22.18g  %22.18g  %22.18g\n", F[n], Fp[n], G[n], Gp[n])
  28.  
  29. #define WKB_TOL (1.0e+04 * TEST_SQRT_TOL0)
  30.  
  31.  
  32. int test_coulomb(void)
  33. {
  34.   gsl_sf_result r;
  35.   int status = 0;
  36.   int s = 0;
  37.   
  38.   char message_buff[2048];
  39.  
  40.   /* const int kmax = 20; */
  41.   /* double F[kmax+1], Fp[kmax+1], G[kmax+1], Gp[kmax+1]; */
  42.   gsl_sf_result F, Fp, G, Gp;
  43.   double Fe, Ge;
  44.   double lam_min;
  45.   double lam_F;
  46.   double eta, x;
  47.   int k_G;
  48.  
  49.   TEST_SF(s, gsl_sf_hydrogenicR_1_e, (3.0, 2.0, &r),  0.025759948256148471036,  TEST_TOL0, GSL_SUCCESS);
  50.   TEST_SF(s, gsl_sf_hydrogenicR_1_e, (3.0, 10.0, &r), 9.724727052062819704e-13, TEST_TOL1, GSL_SUCCESS);
  51.   status += s;
  52.  
  53.   TEST_SF(s, gsl_sf_hydrogenicR_e, (4, 0, 3.0, 2.0, &r), -0.03623182256981820062,  TEST_TOL2, GSL_SUCCESS);
  54.   TEST_SF(s, gsl_sf_hydrogenicR_e, (4, 1, 3.0, 2.0, &r), -0.028065049083129581005, TEST_TOL2, GSL_SUCCESS);
  55.   TEST_SF(s, gsl_sf_hydrogenicR_e, (4, 2, 3.0, 2.0, &r),  0.14583027278668431009,  TEST_TOL0, GSL_SUCCESS);
  56.   status += s;
  57.  
  58.   TEST_SF(s, gsl_sf_hydrogenicR_e, (100,  0, 3.0, 2.0, &r), -0.00007938950980052281367, TEST_TOL3, GSL_SUCCESS);
  59.   TEST_SF(s, gsl_sf_hydrogenicR_e, (100, 10, 3.0, 2.0, &r),  7.112823375353605977e-12,  TEST_TOL2, GSL_SUCCESS);
  60.   TEST_SF(s, gsl_sf_hydrogenicR_e, (100, 90, 3.0, 2.0, &r),  5.845231751418131548e-245, TEST_TOL2, GSL_SUCCESS);
  61.   status += s;
  62.  
  63.   lam_F = 0.0;
  64.   k_G   = 0;
  65.   eta = 1.0;
  66.   x = 5.0;
  67.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  68.   s = 0;
  69.   message_buff[0] = 0;
  70.   s += test_sf_check_result(message_buff,  F,  0.6849374120059439677, TEST_TOL3);
  71.   s += test_sf_check_result(message_buff, Fp, -0.7236423862556063963, TEST_TOL3);
  72.   s += test_sf_check_result(message_buff,  G, -0.8984143590920205487, TEST_TOL3);
  73.   s += test_sf_check_result(message_buff, Gp, -0.5108047585190350106, TEST_TOL3);
  74.   printf("%s", message_buff);
  75.   gsl_test(s,"  gsl_sf_coulomb_wave_FG_e(1.0, 5.0, lam_F=0, lam_G=0)");
  76.   status += s;
  77.  
  78.   lam_F = 10.0;
  79.   k_G   = 2;
  80.   eta = 1.0;
  81.   x = 5.0;
  82.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  83.   s = 0;
  84.   message_buff[0] = 0;
  85.   s += test_sf_check_result(message_buff,  F,  0.0006423773354915823698, TEST_TOL3);
  86.   s += test_sf_check_result(message_buff, Fp,  0.0013299570958719702545, TEST_TOL3);
  87.   s += test_sf_check_result(message_buff,  G,  33.27615734455096130,     TEST_TOL3);
  88.   s += test_sf_check_result(message_buff, Gp, -45.49180102261540580,     TEST_TOL3);
  89.   printf("%s", message_buff);
  90.   gsl_test(s,"  gsl_sf_coulomb_wave_FG_e(1.0, 5.0, lam_F=10, lam_G=8)");
  91.   status += s;
  92.  
  93.   lam_F = 4.0;
  94.   k_G   = 2;
  95.   eta = 50.0;
  96.   x = 120.0;
  97.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  98.   s = 0;
  99.   message_buff[0] = 0;
  100.   s += test_sf_check_result(message_buff,  F,  0.0735194711823798495, TEST_TOL3);
  101.   s += test_sf_check_result(message_buff, Fp,  0.6368149124126783325, TEST_TOL3);
  102.   /*
  103.   s += test_sf_check_result(message_buff,  G,  , TEST_TOL5);
  104.   s += test_sf_check_result(message_buff, Gp, , TEST_TOL5);
  105.   */
  106.   printf("%s", message_buff);
  107.   gsl_test(s,"  gsl_sf_coulomb_wave_FG_e(50.0, 120.0, lam_F=4, lam_G=2)");
  108.   status += s;
  109.  
  110.   lam_F = 0.0;
  111.   k_G = 0;
  112.   eta = -1000.0;
  113.   x = 1.0;
  114.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  115.   s = 0;
  116.   message_buff[0] = 0;
  117.   s += test_sf_check_result(message_buff,  F,  9.68222518991341e-02, TEST_TOL3);
  118.   s += test_sf_check_result(message_buff, Fp,  5.12063396274631e+00, TEST_TOL3);
  119.   s += test_sf_check_result(message_buff,  G,  1.13936784379472e-01, TEST_TOL3);
  120.   s += test_sf_check_result(message_buff, Gp, -4.30243486522438e+00, TEST_TOL3);
  121.   printf("%s", message_buff);
  122.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(-1000.0, 1.0, lam_F=0, lam_G=0)");
  123.   status += s;
  124.  
  125.   lam_min = 0.0;
  126.   eta = -50.0;
  127.   x = 5.0;
  128.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  129.   s = 0;
  130.   message_buff[0] = 0;
  131.   s += test_sf_check_result(message_buff,  F,  1.52236975714236e-01, TEST_TOL3);
  132.   s += test_sf_check_result(message_buff, Fp,  2.03091041166137e+00, TEST_TOL3);
  133.   s += test_sf_check_result(message_buff,  G,  4.41680690236251e-01, TEST_TOL3);
  134.   s += test_sf_check_result(message_buff, Gp, -6.76485374766869e-01, TEST_TOL3);
  135.   printf("%s", message_buff);
  136.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(-50.0, 5.0, lam_F=0, lam_G=0)");
  137.   status += s;
  138.  
  139.   lam_min = 0.0;
  140.   eta = -50.0;
  141.   x = 1000.0;
  142.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  143.   s = 0;
  144.   message_buff[0] = 0;
  145.   s += test_sf_check_result(message_buff,  F, -0.2267212182760888523, TEST_TOL3);
  146.   s += test_sf_check_result(message_buff, Fp, -0.9961306810018401525, TEST_TOL3);
  147.   s += test_sf_check_result(message_buff,  G, -0.9497684438900352186, TEST_TOL3);
  148.   s += test_sf_check_result(message_buff, Gp,  0.2377656295411961399, TEST_TOL3);
  149.   printf("%s", message_buff);
  150.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(-50.0, 1000.0, lam_F=0, lam_G=0)");
  151.   status += s;
  152.  
  153.   lam_F = 10.0;
  154.   k_G = 0;
  155.   eta = -50.0;
  156.   x = 5.0;
  157.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  158.   s = 0;
  159.   message_buff[0] = 0;
  160.   s += test_sf_check_result(message_buff,  F, -3.681143602184922e-01, TEST_TOL3);
  161.   s += test_sf_check_result(message_buff, Fp,  1.338467510317215e+00, TEST_TOL3);
  162.   s += test_sf_check_result(message_buff,  G,  3.315883246109351e-01, TEST_TOL3);
  163.   s += test_sf_check_result(message_buff, Gp,  1.510888628136180e+00, TEST_TOL3);
  164.   printf("%s", message_buff);
  165.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(-50.0, 5.0, lam_F=10, lam_G=10)");
  166.   status += s;
  167.  
  168.   lam_F = 0.0;
  169.   k_G = 0;
  170.   eta = -4.0;
  171.   x = 5.0;
  172.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  173.   s = 0;
  174.   message_buff[0] = 0;
  175.   s += test_sf_check_result(message_buff,  F,  4.078627230056172e-01, TEST_TOL3);
  176.   s += test_sf_check_result(message_buff, Fp,  1.098212336357310e+00, TEST_TOL3);
  177.   s += test_sf_check_result(message_buff,  G,  6.743270353832442e-01, TEST_TOL3);
  178.   s += test_sf_check_result(message_buff, Gp, -6.361104272804447e-01, TEST_TOL3);
  179.   printf("%s", message_buff);
  180.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(-4.0, 5.0, lam_F=0, lam_G=0");
  181.   status += s;
  182.  
  183.   lam_F = 3.0;
  184.   k_G = 0;
  185.   eta = -4.0;
  186.   x = 5.0;
  187.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  188.   s = 0;
  189.   message_buff[0] = 0;
  190.   s += test_sf_check_result(message_buff,  F, -2.568630935581323e-01, TEST_TOL3);
  191.   s += test_sf_check_result(message_buff, Fp,  1.143229422014827e+00, TEST_TOL3);
  192.   s += test_sf_check_result(message_buff,  G,  7.879899223927996e-01, TEST_TOL3);
  193.   s += test_sf_check_result(message_buff, Gp,  3.859905878106713e-01, TEST_TOL3);
  194.   printf("%s", message_buff);
  195.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(-4.0, 5.0, lam_F=3, lam_G=3");
  196.   status += s;
  197.  
  198.   lam_F = 0.0;
  199.   k_G = 0;
  200.   eta = 1.0;
  201.   x = 2.0;
  202.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  203.   s = 0;
  204.   message_buff[0] = 0;
  205.   s += test_sf_check_result(message_buff,  F,  6.61781613832681e-01, TEST_TOL3);
  206.   s += test_sf_check_result(message_buff, Fp,  4.81557455709949e-01, TEST_TOL3);
  207.   s += test_sf_check_result(message_buff,  G,  1.27577878476828e+00, TEST_TOL3);
  208.   s += test_sf_check_result(message_buff, Gp, -5.82728813097184e-01, TEST_TOL3);
  209.   printf("%s", message_buff);
  210.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(1.0, 2.0, lam_F=0, lam_G=0)");
  211.   status += s;
  212.  
  213.   lam_F = 0.0;
  214.   k_G = 0;
  215.   eta = 1.0;
  216.   x = 0.5;
  217.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  218.   s = 0;
  219.   message_buff[0] = 0;
  220.   s += test_sf_check_result(message_buff,  F,  0.08315404535022023302, TEST_TOL3);
  221.   s += test_sf_check_result(message_buff, Fp,  0.22693874616222787568, TEST_TOL3);
  222.   s += test_sf_check_result(message_buff,  G,  3.1060069279548875140,  TEST_TOL3);
  223.   s += test_sf_check_result(message_buff, Gp, -3.549156038719924236,   TEST_TOL3);
  224.   printf("%s", message_buff);
  225.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(1.0, 0.5, lam_F=0, lam_G=0)");
  226.   status += s;
  227.  
  228.   lam_F = 0.5;
  229.   k_G = 0;
  230.   eta = 1.0;
  231.   x = 0.5;
  232.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  233.   s = 0;
  234.   message_buff[0] = 0;
  235.   s += test_sf_check_result(message_buff,  F,  0.04049078073829290935, TEST_TOL3);
  236.   s += test_sf_check_result(message_buff, Fp,  0.14194939168094778795, TEST_TOL3);
  237.   s += test_sf_check_result(message_buff,  G,  4.720553853049677897,   TEST_TOL3);
  238.   s += test_sf_check_result(message_buff, Gp, -8.148033852319180005,   TEST_TOL3);
  239.   printf("%s", message_buff);
  240.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(1.0, 0.5, lam_F=0.5, lam_G=0.5)");
  241.   status += s;
  242.  
  243.   lam_F = 0.1;
  244.   k_G = 0;
  245.   eta = 1.0;
  246.   x = 0.5;
  247.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  248.   s = 0;
  249.   message_buff[0] = 0;
  250.   s += test_sf_check_result(message_buff,  F,  0.07365466672379703418, TEST_TOL5);
  251.   s += test_sf_check_result(message_buff, Fp,  0.21147121807178518647, TEST_TOL5);
  252.   s += test_sf_check_result(message_buff,  G,  3.306705446241024890, TEST_TOL5);
  253.   s += test_sf_check_result(message_buff, Gp, -4.082931670935696644, TEST_TOL5);
  254.   printf("%s", message_buff);
  255.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(1.0, 0.5, lam_F=0.1, lam_G=0.1)");
  256.   status += s;
  257.  
  258.   lam_F = 0.0;
  259.   k_G = 0;
  260.   eta = 8.0;
  261.   x = 1.05;
  262.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  263.   s = 0;
  264.   message_buff[0] = 0;
  265.   s += test_sf_check_result(message_buff,  F,  9.882706082810274357e-09, TEST_TOL5);
  266.   s += test_sf_check_result(message_buff, Fp,  4.005167028235547770e-08, TEST_TOL5);
  267.   s += test_sf_check_result(message_buff,  G,  1.333127992006686320e+07, TEST_SQRT_TOL0);
  268.   s += test_sf_check_result(message_buff, Gp, -4.715914530842402330e+07, TEST_SQRT_TOL0);
  269.   printf("%s", message_buff);
  270.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(8.0, 1.05, lam_F=0, lam_G=0)");
  271.   status += s;
  272.  
  273.   lam_F = 0.1;
  274.   k_G = 0;
  275.   eta = 8.0;
  276.   x = 1.05;
  277.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  278.   s = 0;
  279.   message_buff[0] = 0;
  280.   s += test_sf_check_result(message_buff,  F,  9.611416736061987761e-09, TEST_TOL5);
  281.   s += test_sf_check_result(message_buff, Fp,  3.909628126126824140e-08, TEST_TOL5);
  282.   s += test_sf_check_result(message_buff,  G,  1.365928464219262581e+07, 4.0*TEST_SQRT_TOL0);
  283.   s += test_sf_check_result(message_buff, Gp, -4.848117385783386850e+07, 4.0*TEST_SQRT_TOL0);
  284.   printf("%s", message_buff);
  285.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(8.0, 1.05, lam_F=0.1, lam_G=0.1)");
  286.   status += s;
  287.  
  288.   lam_F = 0.0;
  289.   k_G = 0;
  290.   eta = 50.0;
  291.   x = 0.1;
  292.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  293.   s = 0;
  294.   message_buff[0] = 0;
  295.   s += test_sf_check_result(message_buff,  F,  2.807788027954216071e-67, TEST_TOL5);
  296.   s += test_sf_check_result(message_buff, Fp,  9.677600748751576606e-66, TEST_TOL5);
  297.   s += test_sf_check_result(message_buff,  G,  5.579810686998358766e+64, TEST_SQRT_TOL0);
  298.   s += test_sf_check_result(message_buff, Gp, -1.638329512756321424e+66, TEST_SQRT_TOL0);
  299.   printf("%s", message_buff);
  300.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(50.0, 0.1, lam_F=0, lam_G=0)");
  301.   status += s;
  302.  
  303.   lam_F = 0.0;
  304.   k_G = 0;
  305.   eta = 10.0;
  306.   x = 5.0;
  307.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  308.   s = 0;
  309.   message_buff[0] = 0;
  310.   s += test_sf_check_result(message_buff,  F,  1.7207454091787930614e-06, 10.0*WKB_TOL);
  311.   s += test_sf_check_result(message_buff, Fp,  3.0975994706405458046e-06, 10.0*WKB_TOL);
  312.   s += test_sf_check_result(message_buff,  G,  167637.56609459967623, 10.0*WKB_TOL);
  313.   s += test_sf_check_result(message_buff, Gp, -279370.76655361803075, 10.0*WKB_TOL);
  314.   printf("%s", message_buff);
  315.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(10.0, 5.0, lam_F=0, lam_G=0)");
  316.   status += s;
  317.  
  318.   lam_F = 0.0;
  319.   k_G = 0;
  320.   eta = 25.0;
  321.   x = 10.0;
  322.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  323.   s = 0;
  324.   message_buff[0] = 0;
  325.   s += test_sf_check_result(message_buff,  F,  1.5451274501076114315e-16, 5.0*WKB_TOL);
  326.   s += test_sf_check_result(message_buff, Fp,  3.1390869393378630928e-16, 5.0*WKB_TOL);
  327.   s += test_sf_check_result(message_buff,  G,  1.6177129008336318136e+15, 5.0*WKB_TOL);
  328.   s += test_sf_check_result(message_buff, Gp, -3.1854062013149740860e+15, 5.0*WKB_TOL);
  329.   printf("%s", message_buff);
  330.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(25.0, 10.0, lam_F=0, lam_G=0)");
  331.   status += s;
  332.  
  333.   lam_F = 0.0;
  334.   k_G = 0;
  335.   eta = 1.0;
  336.   x = 9.2;
  337.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  338.   s = 0;
  339.   message_buff[0] = 0;
  340.   s += test_sf_check_result(message_buff,  F, -0.25632012319757955655, TEST_TOL5);
  341.   s += test_sf_check_result(message_buff, Fp,  0.91518792286724220370, TEST_TOL5);
  342.   s += test_sf_check_result(message_buff,  G,  1.03120585918973466110, TEST_SQRT_TOL0);
  343.   s += test_sf_check_result(message_buff, Gp,  0.21946326717491250193, TEST_SQRT_TOL0);
  344.   printf("%s", message_buff);
  345.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(1.0, 9.2, lam_F=0, lam_G=0)");
  346.   status += s;
  347.  
  348.   lam_F = 0.0;
  349.   eta = 10.0;
  350.   x = 10.0;
  351.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  352.   s = 0;
  353.   message_buff[0] = 0;
  354.   s += test_sf_check_result(message_buff,  F,  0.0016262711250135878249, WKB_TOL);
  355.   s += test_sf_check_result(message_buff, Fp,  0.0017060476320792806014, WKB_TOL);
  356.   s += test_sf_check_result(message_buff,  G,  307.87321661090837987, WKB_TOL);
  357.   s += test_sf_check_result(message_buff, Gp, -291.92772380826822871, WKB_TOL);
  358.   printf("%s", message_buff);
  359.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(10.0, 10.0, lam_F=0, lam_G=0)");
  360.   status += s;
  361.  
  362.   lam_F = 0.0;
  363.   eta = 100.0;
  364.   x = 1.0;
  365.   gsl_sf_coulomb_wave_FG_e(eta, x, lam_F, k_G, &F, &Fp, &G, &Gp, &Fe, &Ge);
  366.   s = 0;
  367.   message_buff[0] = 0;
  368.   s += test_sf_check_result(message_buff,  F,  8.999367996930662705e-126, 10.0*WKB_TOL);
  369.   s += test_sf_check_result(message_buff, Fp,  1.292746745757069321e-124, 10.0*WKB_TOL);
  370.   s += test_sf_check_result(message_buff,  G,  3.936654148133683610e+123, 10.0*WKB_TOL);
  371.   s += test_sf_check_result(message_buff, Gp, -5.456942268061526371e+124, 10.0*WKB_TOL);
  372.   printf("%s", message_buff);
  373.   gsl_test(s, "  gsl_sf_coulomb_wave_FG_e(100.0, 1.0, lam_F=0, lam_G=0)");
  374.   status += s;
  375.  
  376.  
  377.   return status;
  378. }
  379.